Open
Conversation
2487732 to
7d97b6c
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s end-to-end testing and CI wiring to make the e2e suite more reliable by (a) seeding letters via the shared letter-test-data utility and (b) supporting API-key auth for PR proxies and the /_status endpoint.
Changes:
- Add Python e2e helpers to seed PENDING letters via the shared Node CLI and to poll until letters are visible.
- Update e2e auth/header generation to support both bearer tokens and API-key auth (status + PR proxies).
- Restructure GitHub Actions acceptance testing to include an
e2etest type and add support for passing extra secrets to internal workflow dispatches.
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/e2e-tests/lib/secret.py | Extend Secret to carry an auth_type for header generation. |
| tests/e2e-tests/lib/letters.py | New helper to create letter test data via CLI and fetch pending IDs with retry. |
| tests/e2e-tests/lib/generators.py | Update header generation to support API-key vs bearer auth. |
| tests/e2e-tests/lib/fixtures.py | Replace bearer-token fixture with auth “secret” fixtures for /letters and /_status. |
| tests/e2e-tests/lib/authentication.py | Support API-key auth for /_status and PR proxies; path-based auth selection. |
| tests/e2e-tests/api/test_endpoint.py | Update endpoint smoke tests to use new fixtures/header generation. |
| tests/e2e-tests/api/letters/test_update_letter_status.py | Seed/poll for PENDING letters before updating status. |
| tests/e2e-tests/api/letters/test_multiple_letter_status.py | Seed/poll for multiple letters before batch status updates. |
| tests/e2e-tests/api/letters/test_get_list_of_letters.py | Switch to helper that ensures at least one letter is available. |
| tests/e2e-tests/api/letters/test_get_letter_status.py | Switch to helper to obtain a valid letter ID before GET-by-id. |
| tests/e2e-tests/api/letters/conftest.py | New autouse session fixture to seed letters for this test directory. |
| tests/e2e-tests/api/headers/test_x_request_id.py | Update fixtures used for auth in X-Request-ID tests. |
| tests/e2e-tests/api/data/test_get_letter_data.py | Switch to helper to obtain a valid letter ID before fetching letter data. |
| tests/e2e-tests/README.md | Update local e2e setup docs (proxy name + API keys). |
| tests/constants/api-constants.ts | Use TARGET_ENVIRONMENT instead of PR_NUMBER for environment naming. |
| Makefile | Pass STATUS_ENDPOINT_API_KEY into the pytest invocation environment. |
| .gitleaksignore | Add ignore entries for detected IP-like strings in built SAM artefacts. |
| .github/workflows/stage-4-acceptance.yaml | Pass extra secret names to internal workflow dispatch. |
| .github/workflows/stage-3-build.yaml | Split OAS spec artefact jobs (main vs PR) and adjust job dependencies/conditions. |
| .github/scripts/dispatch_internal_repo_workflow.sh | Add --extraSecretNames support for dispatch payload construction. |
| .github/actions/test-types.json | Add e2e to the allowed acceptance test types. |
| .github/actions/e2e-tests/action.yml | Remove legacy composite action for e2e tests. |
| .github/actions/acceptance-tests/action.yml | Route to component vs e2e acceptance sub-actions based on testType. |
| .github/actions/acceptance-tests-e2e/action.yml | New composite action to run the Python e2e suite in CI. |
| .github/actions/acceptance-tests-component/action.yml | New composite action encapsulating component acceptance test execution. |
| .env.template | Add STATUS_ENDPOINT_API_KEY to local env template. |
…et, rather than fetching from APIM
83c95f9 to
48052c5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Context
Type of changes
Checklist
DT3-Specific Checklist
Sensitive Information Declaration
To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.